var url = 'http://project2.lc';
//var url = 'http://adshop.vn';

function mainPopup($type) {
    $("a[rel^='mainPopup']").rukanPhoto({
        ajaxcallback: function() {
            // Sự kiện click tab bất kỳ
            $('.list-tab-item-link').click(function() {
                // Xử lý tab
                $('.list-tab-item').removeClass('list-tab-item-active');
                $(this).parent().addClass('list-tab-item-active');

                var currentTab = $(this).attr('href');
                $('.block-tab-content').hide();
                $(currentTab).show();

                if ($type == 'ad') {
                    // 2. google map
                    if ($(this).data("lat")) {
                        lat = $(this).data("lat");
                        lng = $(this).data("lng");
                    } else {
                        lat = 11;
                        lng = 11;
                    }

                    var map = new google.maps.Map(document.getElementById("map_canvas"), {
                        zoom: 14,
                        center: new google.maps.LatLng(lat, lng),
                        mapTypeId: google.maps.MapTypeId.ROADMAP
                    });
                    var marker = new google.maps.Marker({
                        position: new google.maps.LatLng(lat, lng),
                        map: map
                    });
                }

                return false;
            }); // end Sự kiện click tab bất kỳ 

            $.fn.raty.defaults.path = $('input[name=default_path]').val();

            // Hiển thị ô kết quả rating
            $('#rate-result').raty({
                number: 5,
                score: $('#rate-result').attr('tag'),
                readOnly: true
            });

            if ($type == 'ad') {
                // Hiển thị ô rating
                $('#rate').raty({
                    number: 5,
                    click: function(score, evt) {
                        var rated_id = $(this).attr('tag');
                        $.ajax({
                            url: '/rate/index/' + rated_id + '/3/' + score,
                            type: "POST",
                            dataType: 'json',
                            success: function(data) {
                                if (typeof(data['error']) != "undefined") {
                                    // Không thành công, hiển thị nội dung lỗi
                                    $('#rate').hide();
                                    $('.rate-error').text(data['message']);
                                } else {
                                    // Thành công, cập nhật xếp hạng mới
                                    $('#rate').hide();
                                    $('.rate-error').text("Xếp hạng thành công!");
                                    // Hiển thị ô kết quả rating
                                    $('#rate-result').raty({
                                        number: 5,
                                        score: data['value'],
                                        readOnly: true
                                    });
                                }
                            }
                        });
                    }
                });

                comment_extra = 0;
                // Hiển thị list comment
                $('.comment-block').scroll(function() {
                    if (element_in_scroll(".comment-block .comment-thread:last")) {
                        // ajax call get data from server and append to the div
                        comment_extra++; //s tăng lên một mỗi lần cuộn
                        company_id = $('input[name=ad_id').val();
                        var url = '/ad/listComment/' + company_id;
                        var url = url + '/' + comment_extra + '/true';

                        $.get(url, function(data) {
                            $('.comment-block').append(data); // append to <ul>
                        });
                    }
                });
            } else if ($type == 'booth') {
                // Hiển thị ô rating
                $('#rate').raty({
                    number: 5,
                    click: function(score, evt) {
                        var rated_id = $(this).attr('tag');
                        $.ajax({
                            url: '/rate/index/' + rated_id + '/4/' + score,
                            type: "POST",
                            dataType: 'json',
                            success: function(data) {
                                if (typeof(data['error']) != "undefined") {
                                    // Không thành công, hiển thị nội dung lỗi
                                    $('#rate').hide();
                                    $('.rate-error').text(data['message']);
                                } else {
                                    // Thành công, cập nhật xếp hạng mới
                                    $('#rate').hide();
                                    $('.rate-error').text("Xếp hạng thành công!");
                                    // Hiển thị ô kết quả rating
                                    $('#rate-result').raty({
                                        number: 5,
                                        score: data['value'],
                                        readOnly: true
                                    });
                                }
                            }
                        });
                    }
                });

                comment_extra = 0;
                // Hiển thị list comment
                $('.comment-block').scroll(function() {
                    if (element_in_scroll(".comment-block .comment-thread:last")) {
                        // ajax call get data from server and append to the div
                        comment_extra++; //s tăng lên một mỗi lần cuộn
                        company_id = $('input[name=booth_product_id').val();
                        var url = '/ad/listComment/' + company_id;
                        var url = url + '/' + comment_extra + '/true';

                        $.get(url, function(data) {
                            $('.comment-block').append(data); // append to <ul>
                        });
                    }
                });
            }

            if ($type == 'ad' || $type == 'booth') {
                // 4.intro slider
                $('#gallery').nivoGallery({
                    pauseTime: 4000,
                    animSpeed: 600
                });

                // 5. comment
                var working = false; // This flag will prevent multiple comment submits
                $('#addCommentForm').submit(function(e) {
                    e.preventDefault();
                    if (working)
                        return false;

                    working = true;
                    $('#submit').val('Working..');
                    $.post(url + '/api/addComment', $(this).serialize(), function(msg) {
                        working = false;
                        $('#submit').val('Đánh giá');
                        if (msg.status) {
                            var html =
                                    '<div class="comment-thread">' +
                                    '<img src="//www.google.com/s2/photos/public/AIbEiAIAAABECN_L9YeomPrQ-QEiC3ZjYXJkX3Bob3RvKig1MTBlZWU2NTA2OGY0NWY5YmJkYzJhNTE5ZmFjOWVkZmUyNzMyNGI4MAE14neh6YzAbzm10AqcguPG-Ry0UQ" alt="">' +
                                    '<div class="block-left">' +
                                    '<a href="#" class="comment-thread-displayname">asdfgh</a>' +
                                    '<span>1 giây trước</span>' +
                                    '<br>' +
                                    '<div class="comment">' + $('#comment').val() + '</div>' +
                                    '</div>' +
                                    '</div>';

                            $(html).hide().insertBefore('.comment-block').slideDown();
                            $('#addCommentForm').hide();
                        } else {
                            //$.each(msg.errors,function(k,v){
                            //	$('label[for='+k+']').append('<span class="error">'+v+'</span>');
                            //});
                        }
                    }, 'json');
                });
            }
        }
    }); // end mainPopup
}

function companyPopup() {
    $("a[rel^='companyPopup']").rukanPhoto({
        ajaxcallback: function() {
            // Sự kiện click tab bất kỳ
            $('.list-tab-item-link').click(function() {
                // Xử lý tab
                $('.list-tab-item').removeClass('list-tab-item-active');
                $(this).parent().addClass('list-tab-item-active');

                var currentTab = $(this).attr('href');
                $('.block-tab-content').hide();
                $(currentTab).show();

                // 2. google map
                if ($(this).data("lat")) {
                    lat = $(this).data("lat");
                    lng = $(this).data("lng");
                } else {
                    lat = 11;
                    lng = 11;
                }

                var map = new google.maps.Map(document.getElementById("map_canvas"), {
                    zoom: 14,
                    //center: new google.maps.LatLng(21.025065587036394, 105.83447456359863), // HN
                    center: new google.maps.LatLng(lat, lng),
                    mapTypeId: google.maps.MapTypeId.ROADMAP
                });
                var marker = new google.maps.Marker({
                    position: new google.maps.LatLng(lat, lng),
                    map: map
                });

                return false;
            });
            // \Sự kiện click tab bất kỳ

            $('img[name=share]').click(function() {
                if ($('.share-content').css("display") !== "none") {
                    $('.share-content').hide();
                } else {
                    $('.share-content').show();
                }
            });

            // slider
            $("#pikame").PikaChoose({autoPlay: false, showCaption: false});

            $('#demo').ytv({
                user: $('input[name=video]').val(), // The Username of the YouTube user you want to display <a href="http://www.jqueryscript.net/tags.php?/video/">video</a>s from
                accent: '#d51c18' // A CSS color string to apply to the accents of the player
            });

            // intro slider
            $('#gallery').nivoGallery({
                pauseTime: 4000,
                animSpeed: 600
            });

            $.fn.raty.defaults.path = $('input[name=default_path]').val();

            // Hiển thị ô kết quả rating
            $('#rate-result').raty({
                number: 5,
                score: $('#rate-result').attr('tag'),
                readOnly: true
            });

            // Hiển thị ô rating
            $('#rate').raty({
                number: 5,
                click: function(score, evt) {
                    var rated_id = $(this).attr('tag');
                    $.ajax({
                        url: '/rate/index/' + rated_id + '/1/' + score,
                        type: "POST",
                        dataType: 'json',
                        success: function(data) {
                            if (typeof(data['error']) != "undefined") {
                                // Không thành công, hiển thị nội dung lỗi
                                $('#rate').hide();
                                $('.rate-error').text(data['message']);
                            } else {
                                // Thành công, cập nhật xếp hạng mới
                                $('#rate').hide();
                                $('.rate-error').text("Xếp hạng thành công!");
                                // Hiển thị ô kết quả rating
                                $('#rate-result').raty({
                                    number: 5,
                                    score: data['value'],
                                    readOnly: true
                                });
                            }
                        }
                    });
                }
            });

            comment_extra = 0;
            // Hiển thị list comment
            $('.comment-block').scroll(function() {
                if (element_in_scroll(".comment-block .comment-thread:last")) {
                    // ajax call get data from server and append to the div
                    comment_extra++; //s tăng lên một mỗi lần cuộn
                    company_id = $('input[name=company_id').val();
                    var url = '/company/listComment/' + company_id;
                    var url = url + '/' + comment_extra + '/true';

                    $.get(url, function(data) {
                        $('.comment-block').append(data); // append to <ul>
                    });
                }
            });
        }
    }); // end companyPopup
} // end function companyPopup

function recruitmentPopup() {
    $("a[rel^='recruitmentPopup']").rukanPhoto({
        ajaxcallback: function() {
            $('.list-tab-item-link').click(function() {
                // Xử lý tab
                $('.list-tab-item').removeClass('list-tab-item-active');
                $(this).parent().addClass('list-tab-item-active');

                var currentTab = $(this).attr('href');
                $('.block-tab-content').hide();
                $(currentTab).show();

                return false;
            }); // end Sự kiện click tab bất kỳ

            $.fn.raty.defaults.path = $('input[name=default_path]').val();

            // Hiển thị ô kết quả rating
            $('#rate-result').raty({
                number: 5,
                score: $('#rate-result').attr('tag'),
                readOnly: true
            });

            // Hiển thị ô rating
            $('#rate').raty({
                number: 5,
                click: function(score, evt) {
                    var rated_id = $(this).attr('tag');
                    $.ajax({
                        url: '/rate/index/' + rated_id + '/2/' + score,
                        type: "POST",
                        dataType: 'json',
                        success: function(data) {
                            if (typeof(data['error']) != "undefined") {
                                // Không thành công, hiển thị nội dung lỗi
                                $('#rate').hide();
                                $('.rate-error').text(data['message']);
                            } else {
                                // Thành công, cập nhật xếp hạng mới
                                $('#rate').hide();
                                $('.rate-error').text("Xếp hạng thành công!");
                                // Hiển thị ô kết quả rating
                                $('#rate-result').raty({
                                    number: 5,
                                    score: data['value'],
                                    readOnly: true
                                });
                            }
                        }
                    });
                }
            });

            comment_extra = 0;
            // Hiển thị list comment
            $('.comment-block').scroll(function() {
                if (element_in_scroll(".comment-block .comment-thread:last")) {
                    // ajax call get data from server and append to the div
                    comment_extra++; //s tăng lên một mỗi lần cuộn
                    company_id = $('input[name=recruitment_id').val();
                    var url = '/recruiment/listComment/' + company_id;
                    var url = url + '/' + comment_extra + '/true';

                    $.get(url, function(data) {
                        $('.comment-block').append(data); // append to <ul>
                    });
                }
            });
        }
    });
}

function clickCompany() {

    // BEGIN click doanh nghiệp
    $("#company").click(function() {
        $(".overlay").show(); // Hiển thị lớp phủ để đợi load company

        // BEGIN load list company with ajax
        $('#content-wrapper').load(url + '/company/index/0/true', function() {
            document.title = 'Trang doanh nghiệp, công ty';
            history.pushState('', '', 'doanh-nghiep');

            companyPopup();
            $(".overlay").hide(); // Ẩn lớp phủ sau khi load xong company
        }); // END load list company with ajax

        var li = $(this).parent();
        if (li.is('.active')) {
            li.removeClass('active'); // Nếu danh mục là đang dc active, remove nó

            $("#" + $(this).data("category")).removeClass("active"); // Ẩn các child của nó
        } else {
            // Nếu danh mục là chưa dc active, active nó
            $(".sidebar-nav").children('li').removeClass('active');
            li.addClass("active");

            // Hiện các child của nó
            $(".sidebar-wrapper").children('ul').removeClass('active');
            $("#" + $(this).data("category")).addClass("active");
        }

        return false;
    }); // END click doanh nghiệp


    // BEGIN click menu cấp I của doanh nghiệp
    $("#doanh-nghiep > li > a").click(function() {
        $(".overlay").show(); // Hiển thị lớp phủ để đợi load company

        // BEGIN load menu cấp I của doanh nghiệp with ajax
        $('#content-wrapper').load(url + '/company/index/0/true/' + $(this).data("category"), function() {
            document.title = 'Trang doanh nghiệp, công ty';
            history.pushState('', '', 'doanh-nghiep');

            companyPopup();
            $(".overlay").hide(); // Ẩn lớp phủ sau khi load xong company
        }); // END load menu cấp I của doanh nghiệp with ajax

        var li = $(this).parent();
        if (li.is('.active')) {
            li.removeClass('active'); // Nếu danh mục là đang dc , remove nó  
        } else {
            // Nếu danh mục là chưa dc active, active nó
            li.parent().children('li').removeClass('active');
            li.addClass("active");
        }

        return false;
    }); // END click menu cấp I của doanh nghiệp

    // Nav level 3
    $("#doanh-nghiep > li > a > ul > li > a").click(function() {
        $(".overlay").show(); // Hiển thị lớp phủ để đợi load company

        // BEGIN load menu cấp II của doanh nghiệp with ajax
        $('#content-wrapper').load(url + '/company/index/0/true/' + $(this).data("category"), function() {
            document.title = 'Trang doanh nghiệp, công ty';
            history.pushState('', '', 'doanh-nghiep');

            companyPopup();
            $(".overlay").hide(); // Ẩn lớp phủ sau khi load xong company
        }); // END load menu cấp II của doanh nghiệp with ajax

        // Active danh mục được click
        var li = $(this).parent();
        li.parent().children('li').removeClass('active');
        li.addClass("active");

        // Display nav level 4
        //$(".menu-level4-container").children('.sidebar-nav-child-3').removeClass('active');
        //$("#"+$(this).data("category")).addClass("active"); 

        return false;
    });

}

function clickRecruitment() {
    // BEGIN click tuyển dụng
    $("#recruitment").click(function() {
        $(".overlay").show(); // Hiển thị lớp phủ để đợi load company

        // BEGIN load list tuyển dụng with ajax
        $('#content-wrapper').load(url + '/recruitment/index/0/true', function() {
            document.title = 'Trang tuyển dụng';
            history.pushState('', '', 'tuyen-dung');

            recruitmentPopup();
            $(".overlay").hide(); // Ẩn lớp phủ sau khi load xong company
        }); // END load list tuyển dụng with ajax

        var li = $(this).parent();
        if (li.is('.active')) {
            li.removeClass('active'); // Nếu danh mục là đang dc active, remove nó

            $("#" + $(this).data("category")).removeClass("active"); // Ẩn các child của nó
        } else {
            // Nếu danh mục là chưa dc active, active nó
            $(".sidebar-nav").children('li').removeClass('active');
            li.addClass("active");

            // Hiện các child của nó
            $(".sidebar-wrapper").children('ul').removeClass('active');
            $("#" + $(this).data("category")).addClass("active");
        }

        return false;
    }); // END click tuyển dụng


    // BEGIN click menu cấp I của tuyển dụng
    $("#tuyen-dung > li > a").click(function() {
        $(".overlay").show(); // Hiển thị lớp phủ để đợi load company

        // BEGIN load menu cấp I của doanh nghiệp with ajax
        $('#content-wrapper').load(url + '/recruitment/index/0/true/' + $(this).data("category"), function() {
            document.title = 'Trang tuyển dụng';
            history.pushState('', '', 'tuyen-dung');

            recruitmentPopup();
            $(".overlay").hide(); // Ẩn lớp phủ sau khi load xong company
        }); // END load menu cấp I của doanh nghiệp with ajax

        var li = $(this).parent();
        if (li.is('.active')) {
            li.removeClass('active'); // Nếu danh mục là đang dc , remove nó  
        } else {
            // Nếu danh mục là chưa dc active, active nó
            li.parent().children('li').removeClass('active');
            li.addClass("active");
        }

        return false;
    }); // END click menu cấp I của tuyển dụng
}

function clickAd() {
    // BEGIN click tuyển dụng
    $("#ad").click(function() {
        $(".overlay").show(); // Hiển thị lớp phủ để đợi load company

        // BEGIN load list tuyển dụng with ajax
        $('#content-wrapper').load(url + '/ad/index/0/true', function() {
            document.title = 'Trang rao vặt';
            history.pushState('', '', 'rao-vat');

            //recruitmentPopup();
            $(".overlay").hide(); // Ẩn lớp phủ sau khi load xong company
        }); // END load list tuyển dụng with ajax

        var li = $(this).parent();
        if (li.is('.active')) {
            li.removeClass('active'); // Nếu danh mục là đang dc active, remove nó

            $("#" + $(this).data("category")).removeClass("active"); // Ẩn các child của nó
        } else {
            // Nếu danh mục là chưa dc active, active nó
            $(".sidebar-nav").children('li').removeClass('active');
            li.addClass("active");

            // Hiện các child của nó
            $(".sidebar-wrapper").children('ul').removeClass('active');
            $("#" + $(this).data("category")).addClass("active");
        }

        return false;
    }); // END click tuyển dụng


    // BEGIN click menu cấp I của tuyển dụng
    $("#tuyen-dung > li > a").click(function() {
        $(".overlay").show(); // Hiển thị lớp phủ để đợi load company

        // BEGIN load menu cấp I của doanh nghiệp with ajax
        $('#content-wrapper').load(url + '/recruitment/index/0/true/' + $(this).data("category"), function() {
            document.title = 'Trang tuyển dụng';
            history.pushState('', '', 'tuyen-dung');

            recruitmentPopup();
            $(".overlay").hide(); // Ẩn lớp phủ sau khi load xong company
        }); // END load menu cấp I của doanh nghiệp with ajax

        var li = $(this).parent();
        if (li.is('.active')) {
            li.removeClass('active'); // Nếu danh mục là đang dc , remove nó  
        } else {
            // Nếu danh mục là chưa dc active, active nó
            li.parent().children('li').removeClass('active');
            li.addClass("active");
        }

        return false;
    }); // END click menu cấp I của tuyển dụng
}

function eventClickMenuLeft(type) {
    // BEGIN click level 1
    $("#" + type).click(function() {
        $(".overlay").show(); // Hiển thị lớp phủ để đợi load
        // BEGIN load list with ajax
        $('#content-wrapper').load(url + '/' + type + '/index/0/true', function() {
            if (type == 'booth') {
                document.title = 'Trang gian hàng online';
                history.pushState('', '', 'gian-hang');
            } else {
                // 
            }
            $(".overlay").hide(); // Ẩn lớp phủ sau khi load xong
        });
        // END load list tuyển dụng with ajax

        var li = $(this).parent();
        if (li.is('.active')) {
            li.removeClass('active'); // Nếu danh mục là đang dc active, remove nó

            $("#" + $(this).data("category")).removeClass("active"); // Ẩn các child của nó
        } else {
            // Nếu danh mục là chưa dc active, active nó
            $(".sidebar-nav").children('li').removeClass('active');
            li.addClass("active");

            // Hiện các child của nó
            $(".sidebar-wrapper").children('ul').removeClass('active');
            $("#" + $(this).data("category")).addClass("active");
        }

        return false;
    }); // END click level 1


    // BEGIN click menu I
    $("#" + type + "-container > li > a").click(function() {
        $(".overlay").show(); // Hiển thị lớp phủ để đợi load company

        // BEGIN load menu cấp I của doanh nghiệp with ajax
//    $('#content-wrapper').load(url + '/recruitment/index/0/true/'+$(this).data("category"), function() {
//  	  document.title = 'Trang tuyển dụng';
//	  history.pushState('', '', 'tuyen-dung');

//	  recruitmentPopup();
        $(".overlay").hide(); // Ẩn lớp phủ sau khi load xong company
//    }); // END load menu cấp I của doanh nghiệp with ajax

        var li = $(this).parent();
        if (li.is('.active')) {
            li.removeClass('active'); // Nếu danh mục là đang dc , remove nó  
        } else {
            // Nếu danh mục là chưa dc active, active nó
            li.parent().children('li').removeClass('active');
            li.addClass("active");
        }

        return false;
    }); // END click menu I
}

function eventPopup() {
    $("a[rel^='eventPopup']").rukanPhoto({
    }); // end eventPopup
}

function typePopup() {
    $("a[rel^='typePopup']").prettyPhoto({
        ajaxcallback: function() {
            $(".type-column .content ul li").click(function(){
                $('#career').val($(this).text());
                $.prettyPhoto.close();
            });
        }
    }); // end typePopup
}

function addComment(e, commented_id, type) {
    var key = e.which;
    isShift = e.shiftKey ? true : false;
    // If the user has pressed only enter
    if (key == 13 && !isShift) {
        $('.rate-comment').each(function() {
            var comment = $(this).val();
            $.ajax({
                url: '/rate/comment/' + commented_id + '/' + type,
                data: {
                    'comment': comment  // Cho phép nhập các ký tự đặc biệt
                },
                type: "POST",
                success: function(data) {
                    if (data.indexOf("error") >= 0) {
                        // Không thành công, hiển thị nội dung lỗi
                        $('.rate-comment-error').text(data.replace("error-", ""));
                        // Xoá bỏ dữ liệu trong ô bình luận
                        $('.rate-comment').val('');
                    } else {
                        // Thành công, hiển thị thông báo
                        $('.rate-comment-error').text("Bình luận thành công!");
                        // Xoá bỏ dữ liệu trong ô bình luận
                        $('.rate-comment').val('');
                        // Nếu tồn tại dòng thông báo chưa có bình luận thì ẩn đi
                        $('p[name=no_comment]').hide();
                        // Hiển thị bình luận mới lên đầu list bình luận
                        $('.comment-block').prepend(data);
                    }
                }
            });
        });
    }
}

function element_in_scroll(elem)
{
    var docViewTop = $(window).scrollTop();
    var docViewBottom = docViewTop + $(window).height();

    var elemTop = $(elem).offset().top;
    var elemBottom = elemTop + $(elem).height();

    return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop));
}















/**
 * Create register Popup
 */
function registerPopup() {
    $("a[rel^='register-popup']").rukanPhoto({
        markup: '<div class="pp_container" role="dialog"><div class="pp_loaderIcon"></div><div class="pp_placeholder"></div></div><div class="pp_overlay"></div>',
        ajaxcallback: function() {
            // validate form on keyup and submit
            $("#form-register").validate({
                rules: {
                    real_name: {
                        required: true,
                        minlength: 2,
                        maxlength: 32
                    },
                    email: {
                        required: true,
                        email: true
                    },
                    password: {
                        required: true,
                        minlength: 5,
                        maxlength: 16
                    },
                    repassword: {
                        required: true,
                        minlength: 5,
                        maxlength: 16,
                        equalTo: "#password"
                    }
                },
                messages: {
                    real_name: {
                        required: 'Tên là yêu cầu',
                        minlength: 'Tên phải bao gồm ít nhất 2 ký tự',
                        maxlength: 'Tên phải ít hơn 32 ký tự bao gồm cả khoảng cách'
                    },
                    email: {
                        required: 'Email là yêu cầu',
                        email: 'Địa chỉ email không hợp lệ'
                    },
                    password: {
                        required: 'Mật khẩu là yêu cầu',
                        minlength: 'Mật khẩu bao gồm ít nhất 5 ký tự',
                        maxlength: 'Mật khẩu phải ít hơn 16 ký tự'
                    },
                    repassword: {
                        required: 'Nhập lại mật khẩu là yêu cầu',
                        equalTo: 'Mật khẩu không trùng nhau'
                    }
                }
            }); // end validate
        } // end ajaxcallback		
    }); // end prettyPhoto 
}

$(document).ready(function() {
    registerPopup();
    clickCompany();
    clickRecruitment();
    clickAd();
    eventClickMenuLeft('booth');

    // Ẩn lớp phủ khi đã hoàn thành load hết trang
    $(".overlay").hide();
});
